package com.xiaoshuidi.cloud.module.contract.controller.admin.bill.vo.orderFees;

import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 账单明细 Excel VO
 *
 * @author 合房租赁
 */
@Data
public class OrderFeesExcelVO {

    @ExcelProperty("账单明细id")
    private Long id;

    @ExcelProperty("账单类型 contract 合同账单 | eviction 退租账单 | booking 预定账单")
    private String orderType;

    @ExcelProperty("账单、退租订单id")
    private Long orderId;

    @ExcelProperty("费用类型 cycle 周期性费用 元/月 |once 一次性费用 元|deposit 押金费用 元 | meter 抄表费用 ")
    private String feeSort;

    @ExcelProperty("费项编号(关联Fee表)")
    private Long feeId;

    @ExcelProperty("费项名称")
    private String feeName;

    @ExcelProperty("资金流向 0 流入 | 1 流出 ")
    private Integer flowType;

    @ExcelProperty("支付状态 unpaid 待支付 |payment 已支付|part  部分支付 ")
    private String payStatus;

    @ExcelProperty("金额")
    private BigDecimal amount;

    @ExcelProperty("已支付金额")
    private BigDecimal paidAmount;

    @ExcelProperty("月费用")
    private BigDecimal feeMonth;

    @ExcelProperty("此订单开始时间")
    private LocalDate startTime;

    @ExcelProperty("此订单结束时间")
    private LocalDate endTime;

    @ExcelProperty("优惠金额")
    private BigDecimal discountAmount;

    @ExcelProperty("初始金额")
    private BigDecimal initialAmount;

    @ExcelProperty("费项计算逻辑")
    private String computeMethod;

    @ExcelProperty("费项开票状态 0 未申请 1 已申请 2 已开票 3 已拒绝 4 已红冲 11 标记已开票")
    private Integer invoiceStatus;

    @ExcelProperty("创建时间")
    private LocalDate createTime;

    @ExcelProperty("版本")
    private Integer version;

    @ExcelProperty("备注")
    private String remark;

}
